10261 - Ferry loading (DP, programación dinámica) && 410 - Station balance (Dijkstra...
[and.git] / 591 - Box of bricks / p591.dpr
blobd19fdaa0c2b084e42a070f5ebd1aa2e59103fd84
1 program p591;\r
2 \r
3 {$APPTYPE CONSOLE}\r
4 \r
5 uses\r
6   SysUtils;\r
7 \r
8 var\r
9   b : array[0..49] of byte;\r
10   n, //cantidad de stacks\r
11   altura,  caso, i, suma, movs : integer;\r
12 begin\r
13   caso := 0;\r
14   read(n);\r
15   while (n <> 0) do\r
16     begin\r
17       for i := 0 to n - 1 do\r
18         read(b[i]);\r
19       readLn;\r
20       //Terminé de leer. Procesar caso aquí\r
21       caso := caso + 1;\r
22       altura := 0;\r
23       for i := 0 to n - 1 do\r
24         altura := altura + b[i];\r
25       altura := altura div n;\r
26       movs := 0;\r
27       for i := 0 to n - 1 do\r
28         if b[i] > altura then\r
29           movs := movs + (b[i] - altura);\r
30       write('Set #'); writeLn(caso);\r
31       write('The minimum number of moves is ', movs); writeLn('.');\r
32       writeLn;\r
33       read(n);\r
34     end;\r
35 end.\r